/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.ihale.tedarikci;

import javax.faces.bean.RequestScoped;
import java.util.ArrayList;
import java.util.List;
import org.ihale.database.Database;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.context.FacesContext;

/**
 *
 * @author Emre
 */
@ManagedBean
@RequestScoped
public class TedarikciBean {

    /** Creates a new instance of TedarikciBean */
    // Değişkenler için alan başlangıcı
    private Tedarikci tedarikci;
    private String Tedarikci_id;
    private Tedarikci getirilenTedarikci;
    private Tedarikci secilenTedarikci;
    private List<Tedarikci> TedarikciListesi;

    public TedarikciBean() {
        this.tedarikci = new Tedarikci();
        this.TedarikciListesi = new ArrayList<Tedarikci>();
        this.secilenTedarikci = new Tedarikci();
        Database database = new Database();
        try {
            database.connect();
            this.TedarikciListesi = database.listeTedarikci();
            database.disconnect();
        } catch (Exception e) {
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Liste veri tabanından alınamadı!"));
            System.out.println(e.toString());
        }
    }

    // Değişkenler için alan bitişi

    // Fonksiyonlar için alan başlangıcı
    public void ekleTedarikci() {
        Database database = new Database();
        try {
            database.connect();
            if (database.ekleTedarikci(this.tedarikci)) {
                FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Tedarikçi eklendi."));
            } else {
                FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Tedarikçi eklenemedi."));
            }

            database.disconnect();

        } catch (Exception e) {
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Ekleme işlemi başarısız."));
            System.out.println(e.toString());
        }
    }

    public void getirTedarikci() {
        Database database = new Database();

        try {
            database.connect();
            this.getirilenTedarikci = database.getirTedarikci(this.Tedarikci_id);
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Satın almacı eklendi."));

            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Satın almacı eklenemedi."));

            database.disconnect();

        } catch (Exception e) {
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Kaldırma işlemi başarısız."));
            System.out.println(e.toString());
        }

    }

    public void silTedarikci() {
        Database database = new Database();

        try {
            database.connect();
            if (database.silTedarikci(this.secilenTedarikci)) {
                FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Satın almacı silindi."));
            } else {
                FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Silinemedi!!!."));
            }

            this.TedarikciListesi = database.listeTedarikci();

            database.disconnect();
        } catch (Exception e) {
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Silinemedi!!!."));
            System.out.println(e.toString());
        }


    }

    public void guncelleTedarikci() {
        Database database = new Database();

        try {
            database.connect();
            if (database.guncelleTedarikci(this.secilenTedarikci)) {
                FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Satın almacı güncellendi!"));
            } else {
                FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Satın almacı güncellenemedi!"));
            }

            this.TedarikciListesi = database.listeTedarikci();

            database.disconnect();

        } catch (Exception e) {
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Güncellenemedi!!!."));
            System.out.println(e.toString());
        }

    }
    
    // Fonksiyonlar için alan bitişi
    
        // Getter-Setter için alan başlangıcı
    public List<Tedarikci> getTedarikciListesi() {
        return TedarikciListesi;
    }

    public void setTedarikciListesi(List<Tedarikci> TedarikciListesi) {
        this.TedarikciListesi = TedarikciListesi;
    }

    public Tedarikci getTedarikci() {
        return tedarikci;
    }

    public void setTedarikci(Tedarikci Tedarikci) {
        this.tedarikci = Tedarikci;
    }

    public String getTedarikci_id() {
        return Tedarikci_id;
    }

    public void setTedarikci_id(String Tedarikci_id) {
        this.Tedarikci_id = Tedarikci_id;
    }

    public Tedarikci getGetirilenTedarikci() {
        return getirilenTedarikci;
    }

    public void setGetirilenTedarikci(Tedarikci getirilenTedarikci) {
        this.getirilenTedarikci = getirilenTedarikci;
    }

    public Tedarikci getSecilenTedarikci() {
        return secilenTedarikci;
    }

    public void setSecilenTedarikci(Tedarikci secilenTedarikci) {
        this.secilenTedarikci = secilenTedarikci;
    }   
    
    // Getter-Setter için alan bitişi

}
